﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace ConvertDotNetLIB.Classes
{
    public class FileFormatMeta
    {
        private string _formatName;
        private Int16 _magicNumberStartPos;
        private Int16 _magicNumberSize;
        private Int64 _magicNumberValue;
        private Int16 _subFileSigStartPos;
        private Int16 _subFileSigSize;
        private Int64 _subFileSigValue;
        private bool _hasSubFileSig;

        public string FormatName
        {
            get { return _formatName; }
            set { _formatName = value; }
        }
        
        public Int16 MagicNumberStartPos
        {
            get { return _magicNumberStartPos; }
            set { _magicNumberStartPos = value; }
        }

        public Int16 MagicNumberSize
        {
            get { return _magicNumberSize; }
            set { _magicNumberSize = value; }
        }

        public Int64 MagicNumberValue
        {
            get { return _magicNumberValue; }
            set { _magicNumberValue = value; }
        }
        
        public Int16 SubFileSigStartPos
        {
            get { return _subFileSigStartPos; }
            set { _subFileSigStartPos = value; }
        }

        public Int16 SubFileSigSize
        {
            get { return _subFileSigSize; }
            set { _subFileSigSize = value; }
        }
        
        public Int64 SubFileSigValue
        {
            get { return _subFileSigValue; }
            set { _subFileSigValue = value; }
        }

        public bool HasSubFileSig
        {
            get { return _hasSubFileSig; }
            set { _hasSubFileSig = value; }
        }

        public FileFormatMeta()
        {

        }

        public FileFormatMeta(string formatName, Int16 magicNumberStartPos, Int16 magicNumberSize, Int64 magicNumberValue, bool hasSubSig, Int16 subFileSigStartPos, Int16 subFileSigSize, Int64 subFileSigValue)
        {
            _formatName = formatName;
            _magicNumberStartPos = magicNumberStartPos;
            _magicNumberSize = MagicNumberSize;
            _magicNumberValue = magicNumberValue;
            _hasSubFileSig = HasSubFileSig;
            _subFileSigStartPos = SubFileSigStartPos;
            _subFileSigSize = SubFileSigSize;
            _subFileSigValue = subFileSigValue;
        }
    }
}
